"aspect-build/bazel-lib"

module(
    name = "aspect_bazel_lib",
    version = "1.37.0",
    compatibility_level = 1,
)

# Lower-bound versions of our dependencies
bazel_dep(name = "bazel_skylib", version = "1.4.2")
bazel_dep(name = "platforms", version = "0.0.7")

# 0.5.4 is the first version with bzlmod support
bazel_dep(name = "stardoc", version = "0.5.4", repo_name = "io_bazel_stardoc")

ext = use_extension("@aspect_bazel_lib//lib:extensions.bzl", "ext")
use_repo(ext, "copy_directory_toolchains", "copy_to_directory_toolchains", "coreutils_toolchains", "expand_template_toolchains", "jq_toolchains", "yq_toolchains")

register_toolchains(
    "@copy_directory_toolchains//:all",
    "@copy_to_directory_toolchains//:all",
    "@jq_toolchains//:all",
    "@yq_toolchains//:all",
    "@coreutils_toolchains//:all",
    "@expand_template_toolchains//:all",
)

# To allow /tools to be built from source
# NOTE: when publishing to BCR, we patch this to be dev_dependency, as we publish pre-built binaries
# along with our releases.
bazel_dep(name = "rules_go", version = "0.41.0", repo_name = "io_bazel_rules_go", dev_dependency = True)

go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps", dev_dependency = True)
go_deps.from_file(go_mod = "//:go.mod")
use_repo(
    go_deps,
    "com_github_bmatcuk_doublestar_v4",
    "org_golang_x_exp",
)

# Development-only dependencies

bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.4.1", dev_dependency = True)
bazel_dep(name = "buildifier_prebuilt", version = "6.3.3", dev_dependency = True)
bazel_dep(name = "gazelle", version = "0.33.0", dev_dependency = True)
